-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipeline
: Add pipeline subsystem
#60
Conversation
Pipeline
: Initial pipeline setup
Pipeline
: Initial pipeline setupPipeline
: Add pipeline subsystem
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for leaving so many small comments 😅. But I think they should make the code quality better.
Also please ensure that in the future not all pipelines are in the same file, but are properly split up into multiple files according to their area. Having it all in one file eventually results in an unreadable mess.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me
Not all pipelines will return an IrisMessage
…yris into feature/pipeline-subsystem-v1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks mostly good, just 3 suggestions :D
Co-authored-by: Michael Dyer <[email protected]>
Motivation
For Pyris V2 we need modular and reusable pipelines. This system will support different Pipeline selections in the future, which are all accessible through the same Interface. We also want to send status updates during pipeline processing.
Description
The primary objective of the pipeline subsystem is to abstract the prompting and reasoning logic associated with various LLM use cases, such as exercise creation and tutor chat, from the overall system infrastructure.
The
FeaturePipelines
component is the initial receiver of user queries from the Endpoint subsystem. It directs these queries to the appropriate functional units specifically designed to handle distinct use cases. These units transform user queries into structured prompts, which are subsequently directed to the LLM subsystem through the corresponding completion and chat interfaces, contingent upon the context of the query. Responses from the LLM subsystem are then conveyed back to the Endpoint subsystem for user delivery.During query processing, the FeaturePipelines component leverages the retrieval interface from the Retrieval subsystem to obtain contextual data pertinent to the user queries. Further details about the Retrieval subsystem can be found in the later chapters of the documentation.
Simultaneously, the FeaturePipelines component communicates operational progress to the Notification Service. This service processes the progress data and interfaces with the Artemis Connector to disseminate progress notifications. In its role, the Artemis Connector forwards these notifications to the designated Artemis system. The specifics of the Artemis Connector's role and its interaction with the Artemis system are detailed in later chapters of the documentation.